昨天的雙層子查詢
轉換成JOIN的語法不知道好做嗎?
我們一起來寫看看吧。
試著用JOIN取代看看吧!
記得用[Person].[BusinessEntityAddress]當居中的橋樑。
上面的語法改成使用JOIN會是:
SELECT
B.[BusinessEntityID]
,A.[AddressID]
,[AddressLine1]
,[AddressLine2]
,[City]
,[StateProvinceID]
,[PostalCode] from HumanResources.Employee E
JOIN [Person].[BusinessEntityAddress] B on E.BusinessEntityID = B.BusinessEntityID
JOIN [Person].[Address] A on B.AddressID = A.AddressID
WHERE E.OrganizationLevel = 1
ORDER BY B.BusinessEntityID
得到的結果都是:
我們再一次驗證了
即使是兩層的子查詢,
都是可以用JOIN來代替的。
資料庫在工作時,
和我們一樣,有工作效率的問題。
以最基礎的SELECT語法為例,
如果
有多種語法能夠得到同樣的查詢結果,
那我們應該撰寫效能較好的那個語法。(廢話)
記得之前還是學生的時候,
我只要資料庫執行出來的結果
和我想的結果
不要差太多,
其他效能什麼都,我都不在意,
我總是想:「我可以等」!
但工作以後,
才知道真正線上使用的資料庫,
是不可能不管效能的。
而且效能還是工作中的重中之重。
為什麼這樣說呢?
不是結果正確最重要嗎?
如果效能不好,會有什麼問題嗎?
明天我們就從這裡來揭曉吧!